<?php
class Efectividad extends CI_Controller {
    public function __construct() {
        parent::__construct();
        $this->load->helper(array('url'));
        $this->load->library(array('session', 'r_session', 'form_validation', 'email'));
        $this->r_session->check($this->session->all_userdata());
        $this->load->model(array(
            'efectividad_model', 
            'nc_model', 
            'usuarios_model',
            'sectores_model',
            'procesos_model',
            'nc_de_model',
            'insumos_model',
            'proveedores_model',
            'tipos_nc_model',
            'derivadas_model',
            'disposiciones_model',
            'tipos_accion_model',
            'aprobacion_model',
            'ejecucion_model'
            ));
    }
    
    public function pendientes() {
        $session = $this->session->all_userdata();
        $session['title'] = 'NC Pendientes de Verificación de la Efectividad';
        
        $data['nc'] = $this->efectividad_model->get_pendientes();
        $data['cantidad'] = $this->nc_model->get_cantidad_abiertas_por_estado(3);
        
        $this->load->view('layout/header', $session);
        $this->load->view('efectividad/pendientes', $data);
        $this->load->view('layout/footer');
    }
    
    public function crear($idnc) {
        $session = $this->session->all_userdata();
        $session['title'] = "Verificación de la Efectividad";
        
        $data['nc'] = $this->nc_model->get_nc($idnc);
        $data['nc']['detecto'] = $this->usuarios_model->get_usuario($data['nc']['detecto']);
        $data['nc']['derivar'] = $this->usuarios_model->get_usuario($data['nc']['derivar']);
        $data['nc']['sector'] = $this->sectores_model->get_sector($data['nc']['sector']);
        $data['nc']['proceso'] = $this->procesos_model->get_proceso($data['nc']['proceso']);
        $data['nc']['nc_de'] = $this->nc_de_model->get_nc_de_por_id($data['nc']['nc_de']);
        $data['nc']['insumo'] = $this->insumos_model->get_insumo($data['nc']['insumo']);
        $data['nc']['proveedor'] = $this->proveedores_model->get_proveedor($data['nc']['proveedor']);
        $data['nc']['tipo'] = $this->tipos_nc_model->get_tipo_nc($data['nc']['tipo']);
        
        $data['nc']['derivada'] = $this->derivadas_model->get_derivada_por_id_nc($idnc);
        $data['nc']['derivada']['disposicion'] = $this->disposiciones_model->get_disposicion($data['nc']['derivada']['disposicion']);
        $data['nc']['derivada']['accion'] = $this->tipos_accion_model->get_tipo_accion($data['nc']['derivada']['accion']);
        $data['nc']['derivada']['aprueba'] = $this->usuarios_model->get_usuario($data['nc']['derivada']['aprueba']);
        
        $data['nc']['aprobacion'] = $this->aprobacion_model->get_aprobacion_por_idnc($idnc);
        $data['nc']['aprobacion']['ejecutor'] = $this->usuarios_model->get_usuario($data['nc']['aprobacion']['ejecutor']);
        
        $data['nc']['ejecucion'] = $this->ejecucion_model->get_ejecucion_por_idnc($idnc);
        $data['nc']['ejecucion']['verifico'] = $this->usuarios_model->get_usuario($data['nc']['ejecucion']['verifico']);
        
        $data['usuarios'] = $this->usuarios_model->get_usuarios();
        
        $this->form_validation->set_rules('verificado', 'Verificado', 'required');
        $this->form_validation->set_rules('fecha', 'Fecha', 'required');
        $this->form_validation->set_rules('comentarios', 'Comentarios', 'required');
        
        if($this->form_validation->run() == FALSE) {
            
        } else {
            $datos = array(
                'idnc' => $idnc,
                'verificado' => $this->input->post('verificado'),
                'fecha' => $this->input->post('fecha'),
                'comentarios' => $this->input->post('comentarios'),
                'verifico' => $this->input->post('verifico')
            );
            
            $this->efectividad_model->set_efectividad($datos);
            
            $datos = array(
                'estado' => 4,
                'cerrada' => 1
            );
            $this->nc_model->update($datos, $idnc);
            
            redirect('/efectividad/pendientes/', 'refresh');
        }
        
        if($data['nc']['estado'] == 3) {
            $this->load->view('layout/header', $session);
            $this->load->view('efectividad/crear', $data);
            $this->load->view('layout/footer');
        } else {
            redirect('/home/', 'refresh');
        }
    }
    
}
?>
